df<?php
/* 
 * Test para las tutorias
 * 
 */
require_once dirname(__FILE__).'/../bootstrap/unit.php';
$configuracion = ProjectConfiguration::getApplicationConfiguration('frontend', 'test', 'true');
new sfDatabaseManager($configuration);
Doctrine_Core::loadData(sfConfig::get('sf_test_dir').'/fixtures');

$cantidad_pruebas = 7;
$test = new lime_test($cantidad_pruebas);

$alumno1 = new Alumno();
    $alumno1->setIdUsuario(20);
    $alumno1->setNombreUsuario("alu");
    $alumno1->setEmail("fa@ecampus.com");
$alumno2 = new Alumno();
//    $alumno2->setIdUsuario(21);
    $alumno2->setNombreUsuario("bgg");
    $alumno2->setEmail("bfg@ecampus.com");
$alumno1->save();
$alumno2->save();

$docente = new Docente();
    $docente->setNombreUsuario("docente");
    $docente->setEmail("docente@gmail.com");
$docente->save();

$tutoria = new Tutoria();

    $tutoria->setIdAlumno($alumno1->getIdUsuario());
    $tutoria->setIdDocente($docente->getIdUsuario());
$tutoria->save();

$test->ok($docente->tieneAlumnosPorTutorias(),"el docente tiene tutorias");
$test->is($docente->getCantidadDeAlumnosBajoTutoria(), 1,"Cantidad correcta (1)");

$tutoria2 = new Tutoria();
    $tutoria2->setIdAlumno($alumno2->getIdUsuario());
    $tutoria2->setIdDocente($docente->getIdUsuario());
$tutoria2->save();


$test->is($docente->getCantidadDeAlumnosBajoTutoria(), 2,"Cantidad correcta (2)");

$nuevoDocente = new Docente();
    $nuevoDocente->setNombreUsuario("ndocente");
    $nuevoDocente->setEmail("ndocente@gmail.com");
$nuevoDocente->save();

$test->ok(!$nuevoDocente->tieneAlumnosPorTutorias(),"docente sin tutorias");

$test->ok($alumno1->tieneTutor(),"alumno1 tiene tutor");
$test->ok($alumno2->tieneTutor(),"alumno2 tiene tutor");
$test->is($alumno1->Tutoria->getDocente()->getIdUsuario(), $alumno2->Tutoria->getDocente()->getIdUsuario(),"alumno1 y alumno2 tienen el mismo tutor");

$tutoria->delete();
$tutoria2->delete();

$alumno1->eliminar();
$alumno2->eliminar();
$docente->eliminar();
$nuevoDocente->delete();

?>
